package com.ttg.web.service;

import com.baomidou.mybatisplus.extension.service.IService;
import com.ttg.common.entities.BasePage;
import com.ttg.common.entities.BaseResult;
import com.ttg.model.dto.*;
import com.ttg.model.pojo.TagInfo;
import com.ttg.model.vo.ResultStatusVo;
import com.ttg.model.vo.TagVipVo;
import com.ttg.model.vo.TagInfoVo;
import com.ttg.model.vo.TagVo;

import javax.servlet.http.HttpServletResponse;

/**
 * @author ZQ
 * @version 1.
 * @Description
 * @date 2021/1/15 17:08
 */
public interface TagInfoService extends IService<TagInfo> {
    BasePage<TagVo> tagPage(TagPageDTO reqDto);

    BaseResult tagAdd(TagInfoDTO reqDto);

    TagInfoVo tagInfo(TagPageDTO reqDto);

    BaseResult tagUpdate(TagInfoDTO reqDto);

    BaseResult tagUpdateStatus(TagPageDTO reqDto);

    BasePage<TagVipVo> tagVipPage(TagVipPageDTO reqDto);
    void tagVipPageExport(TagVipPageDTO reqDto, HttpServletResponse response);
    BasePage tagMctPage(TagMctPageDTO dto);


    BasePage mctTagPage(MctTagPageDto dto);

    BasePage<TagVo> tagPageByVip(TagVipPageDTO reqDto);

    BaseResult getVipTagList(GetVipTagListDto dto);

    ResultStatusVo updateTagBind(TagBindDto tagBindDto);

    BaseResult bankAgentList(BankAgentListDto reqDto);
    BaseResult cityList(CityListDto reqDto);
    BaseResult merchantList(MerchantClassListDto reqDto);

    void mctTagPageExport(MctTagPageDto reqDto, HttpServletResponse response);

    void export(TagPageDTO reqDto, HttpServletResponse response);

    BaseResult tagEstimate(TagInfoDTO reqDto);
}
